package cn.ffcs.uec.staff.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import cn.ffcs.uec.common.vo.UecBdDefdoc;
import cn.ffcs.uec.organization.model.UecOrgOrgs;
import cn.ffcs.uom.common.model.DefaultDaoFactory;
import cn.ffcs.uom.common.model.UomEntity;
import cn.ffcs.uom.common.util.StrUtil;
import lombok.Getter;
import lombok.Setter;

/**
 * @Title:人员考核信息实体类
 * @Description:
 * @Copyright: FFCS（C） 2017
 * @Company: FFCS
 * @author Wang Yiren
 * @Version 0.0.1 date:2017年11月24日
 * @since JDK1.6
 */
public class UecAss extends UomEntity implements Serializable {

	private static final long serialVersionUID = 5541133626326477035L;
	/**
	 * 人员考核信息标识
	 * 
	 * @return
	 */
	public Long getAssId() {
		return super.getId();
	}
	public void setAssId(Long assId) {
		super.setId(assId);
	}
	/**
	 * 人员标识
	 */
	@Getter
	@Setter
	private Long staffId;
	/**
	 * 帐期
	 */
	@Getter
	@Setter
	private Long monthId;
	/**
	 * 起始日期
	 */
	@Getter
	@Setter
	private String begindate;
	/**
	 * 创建时间
	 */
	@Getter
	@Setter
	private String creationtime;
	/**
	 * 创建人
	 */
	@Getter
	@Setter
	private String creator;
	/**
	 * 终止日期
	 */
	@Getter
	@Setter
	private String enddate;
	/**
	 * 考核类型
	 */
	@Getter
	@Setter
	private String glbdef1;
	/**
	 * 最近记录标志
	 */
	@Getter
	@Setter
	private String lastflag;
	/**
	 * 修改时间
	 */
	@Getter
	@Setter
	private String modifiedtime;
	/**
	 * 修改人
	 */
	@Getter
	@Setter
	private String modifier;
	/**
	 * 组织
	 */
	@Getter
	@Setter
	private String pkOrg;
	/**
	 * 考核组织
	 */
	@Getter
	@Setter
	private String pkOrgass;
	/**
	 * 所属组织
	 */
	@Getter
	@Setter
	private String pkOrgpsn;
	/**
	 * 绩效等级
	 */
	@Getter
	@Setter
	private String pkPerank;
	/**
	 * 人员基本信息
	 */
	@Getter
	@Setter
	private String pkPsndoc;
	/**
	 * 主键
	 */
	@Getter
	@Setter
	private String pkPsndocSub;
	/**
	 * 组织关系主键
	 */
	@Getter
	@Setter
	private String pkPsnorg;
	/**
	 * 任职记录
	 */
	@Getter
	@Setter
	private String pkPsnjob;
	/**
	 * 记录序号
	 */
	@Getter
	@Setter
	private Long recordnum;
	/**
	 * 考核方案名称
	 */
	@Getter
	@Setter
	private String schemename;
	/**
	 * 考核系数
	 */
	@Getter
	@Setter
	private Double schemequotiety;
	/**
	 * 考核成绩
	 */
	@Getter
	@Setter
	private Double schemescore;
	/**
	 * 时间戳
	 */
	@Getter
	@Setter
	private String ts;
	/**
	 * 删除标志
	 */
	@Getter
	@Setter
	private Long dr;
	/**
	 * 起始日期（干部任免）
	 */
	@Getter
	@Setter
	private String glbdef2;
	/**
	 * 组织考核成绩
	 */
	@Getter
	@Setter
	private Double glbdef3;
	/**
	 * 期间名称
	 */
	@Getter
	@Setter
	private String glbdef4;
	/**
	 * 考核期间类型
	 */
	@Getter
	@Setter
	private String glbdef5;
	
	/**
	 * 外包人员类型
	 */
	@Getter
	@Setter
	private String nmStaffType;

	public static UecAss newInstance() {
		return new UecAss();
	}
	
	/**
	 * 考核类型 名称--glbdef1
	 * bmp
	 * @return
	 */
	public String getGlbdef5Name() {
		if (!StrUtil.isNullOrEmpty(this.getGlbdef1())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getGlbdef1());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql, params, UecBdDefdoc.class);
			if (null != list && list.size() > 0) {
				return list.get(0).getName();
			}
			
		}
		return this.glbdef1;
	}
	
	/**
	 * 考核组织--pkOrgass
	 * bmp
	 * @return
	 */
	public String getPkOrgassName() {
		if (!StrUtil.isNullOrEmpty(this.getPkOrgass())) {
			String sql = "SELECT * FROM UEC_ORG_ORGS WHERE PK_ORG = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getPkOrgass());
			List<UecOrgOrgs> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql, params, UecOrgOrgs.class);
			if (null != list && list.size() > 0) {
				return list.get(0).getName();
			}
			
		}
		return this.pkOrgass;
	}
	/**
	 * 所属组织--pkOrg
	 * bmp
	 * @return
	 */
	public String getPkOrgName() {
		if (!StrUtil.isNullOrEmpty(this.getPkOrg())) {
			String sql = "SELECT * FROM UEC_ORG_ORGS WHERE PK_ORG = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getPkOrg());
			List<UecOrgOrgs> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql, params, UecOrgOrgs.class);
			if (null != list && list.size() > 0) {
				return list.get(0).getName();
			}
			
		}
		return this.pkOrg;
	}
	/**
	 * 绩效等级  ---pkPerank
	 * bmp
	 * @return
	 */
	public String getPkPerankName() {
		if (!StrUtil.isNullOrEmpty(this.getPkPerank())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getPkPerank());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql, params, UecBdDefdoc.class);
			if (null != list && list.size() > 0) {
				return list.get(0).getName();
			}
			
		}
		return this.pkPerank;
	}
	/**
	 * 最近记录标识 名称
	 * bmp
	 * @return
	 */
	public String getLastflagName() {
		if (!StrUtil.isNullOrEmpty(this.getLastflag())) {
			if ("Y".equals(this.getLastflag())) {
				return "是";
			}
			if ("N".equals(this.getLastflag())) {
				return "否";
			}
		}
		return this.lastflag;
	}

}
